import IDValidator from 'id-validator'
import GB2260 from 'id-validator/src/GB2260'
/**
 * 邮箱
 * @param {*} s
 */
export function isEmail (s) {
  return /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(com|cn|net)$/.test(s)
}

/**
 * 手机号码
 * @param {*} s
 */
export function isMobile (s) {
  return /^1[0-9]{10}$/.test(s)
}

/**
 * 电话号码
 * @param {*} s
 */
export function isPhone (s) {
  return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}

/**
 * URL地址
 * @param {*} s
 */
export function isURL (s) {
  return /^http[s]?:\/\/.*/.test(s)
}

/**
 * 身份证号
 * @param {*} s
 */
export function isIdCard (s) {
  if (!s) return
  const cardId = s
  const validator = new IDValidator(GB2260)
  return validator.isValid(cardId)
}


/**
 * 小时转xx天xx时xx分xx秒
 * @param value 时数
 * @returns {string}
 */
export function formatSecToDate (sec) {
  if (!sec) {
    return '00时00分00秒'
  }
  sec = sec * 3600
  return formatSecToDate2(sec)
}

/**
 * 秒转xx天xx时xx分xx秒
 * @param value 秒数
 * @returns {string}
 */
export function formatSecToDate2 (value) {
  if (!value) {
    return '00时00分00秒'
  }
  const result = parseInt(value)

  const y =
      Math.floor(result / 86400) < 10
          ? '0' + Math.floor(result / 86400)
          : Math.floor(result / 86400)

  const h =
      Math.floor((result / 3600) % 24) < 10
          ? '0' + Math.floor((result / 3600) % 24)
          : Math.floor((result / 3600) % 24)

  const m =
      Math.floor((result / 60) % 60) < 10
          ? '0' + Math.floor((result / 60) % 60)
          : Math.floor((result / 60) % 60)

  const s =
      Math.floor(result % 60) < 10
          ? '0' + Math.floor(result % 60)
          : Math.floor(result % 60)

  let res = ''
  if (y !== '00') res += `${y}天`

  if (h !== '00') res += `${h}时`

  if (m !== '00') res += `${m}分`

  res += `${s}秒`
  return res
}

